import Vue from 'vue'

import axios from 'axios'



// create an axios instance

const service = axios.create({
	baseURL: 'http://localhost:9090', // url = base url + request url
	//withCredentials: true, // send cookies when cross-domain requests 注意：withCredentials和后端配置的cross跨域不可同时使用
	timeout: 6000, // request timeout
	crossDomain: true
})
// request拦截器,在请求之前做一些处理
service.interceptors.request.use(
	config => {
		// if (store.state.token) {
		    // 给请求头添加user-token
			//Content-type: application/json
			// config.headers["content-type"]="application/json";
		 //    config.headers["jwt"] = uni.getStorageSync("jwt");
		// }
		console.log('请求拦截成功')
		return config;
	},
	error => {
		console.log(error); // for debug
		return Promise.reject(error);
	}
);

//配置成功后的拦截器
service.interceptors.response.use(response => {
	if (response.data.code == "400") {
	        uni.showToast({
	            title: '失败',
	            icon: 'error'
	        });
	    } else if (response.data.code == "401") {
	        uni.showToast({
	            title: '账户或密码错误',
	            icon: 'error'
	        });
	    } else if (response.data.code == "403") {
	        uni.showToast({
	            title: '登录过期，请重新登录',
	            icon: 'error'
	            
	        });
	    } else if (response.data.code == "500") {
	        uni.showToast({
	            title: '服务器错误',
	            icon: 'exception'
	        });
	    } else if (response.data.code == "700") {
	        uni.showToast({
	            title: '您权限不足',
	            icon: 'error'
	        });
	    }else if (response.data.code == "800") {
	        uni.showToast({
	            title: '填写参数有误',
	            icon: 'fail'
	        });
	    }
	return response;
	// if (res.data.status == 200) {
	// 	return res.data
	// } else {
	// 	return Promise.reject(res.data.msg);
	// }
}, error => {
	if (error.response.status) {
		switch (error.response.status) {
			case 401:
				break;
			default:
				break;
		}
	}
	return Promise.reject(error)
})

// 在main.js中放入这段自定义适配器的代码，就可以实现uniapp的app和小程序开发中能使用axios进行跨域网络请求，并支持携带cookie
export default service
